Designers of contemporary mobile computing devices, including pocket-sized personal computers, mobile telephones, pagers and the like, are challenged with trying to build devices of ever-decreasing size with ever-increasing features, all while providing a user interface that is sufficiently user-friendly to facilitate input. Alternative modes exist for obtaining user input, including a keyboard mode, wherein input is performed via keys, and a stylus mode, where the device is controlled by a stylus and a touch-sensitive display screen/input mechanism.
Each of these modes has advantages and disadvantages. For example, while the stylus mode is generally superior to keyboard modes for direct manipulation of displayed items, including traditional menu selection of commands and the like, the stylus mode is relatively slower than the keyboard mode for text input. This is true even with limited keyboards, such as those referred to as thumb keyboards.
As a result, some devices provide both stylus and keyboard input mechanisms, whereby that a user can use the stylus for command selection and the key buttons for text input. However, switching between using the keyboard and using the stylus is cumbersome, awkward and slow. Moreover, the stylus mode is not even possible on devices which are not touch-sensitive (e.g., most mobile telephones).
To contend with these problems, designers of devices that do not have touch-sensitive displays, such as many mobile telephones, and/or otherwise want to allow users to select commands via a keyboard mode, essentially simulate the stylus mode with keys. Selection is typically accomplished via up and down cursor buttons (and in some devices a scrolling wheel) for scrolling through a menu of vertically-arranged commands, starting at the top, along with a select button that the user actuates when the desired command is highlighted. While functional, on average this is relatively slow for a user to find and enter a command, and often results in the user scrolling past (overshooting) or stopping short of (undershooting) the desired menu item. What is needed is an improved way of facilitating the entry of commands via buttons/hardware keys.